<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>Repetier-Firmware: src/ArduinoAVR/Repetier/HAL.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="repetier-logo-trans128.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Repetier-Firmware
   &#160;<span id="projectnumber">0.91</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('_h_a_l_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">src/ArduinoAVR/Repetier/HAL.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;avr/pgmspace.h&gt;</code><br/>
<code>#include &lt;avr/io.h&gt;</code><br/>
<code>#include &lt;avr/eeprom.h&gt;</code><br/>
<code>#include &lt;avr/wdt.h&gt;</code><br/>
<code>#include &lt;inttypes.h&gt;</code><br/>
<code>#include &quot;Print.h&quot;</code><br/>
<code>#include &quot;WProgram.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="fastio_8h_source.html">fastio.h</a>&quot;</code><br/>
</div>
<p><a href="_h_a_l_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structring__buffer.html">ring_buffer</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structring__buffer__tx.html">ring_buffer_tx</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_f_hardware_serial.html">RFHardwareSerial</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_h_a_l.html">HAL</a></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a5ed6babb09100c6ea686ac77dcc201f0">PACK</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ae68067bbb7e4e74e66a097cf20f69a96">FSTRINGVALUE</a>(var, value)&#160;&#160;&#160;const char var[] <a class="el" href="ui_8h.html#a0ecb7d204e04196a839885837c052002">PROGMEM</a> = value;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a9647b2e4e353b8a4c966dc7078ef1e73">FSTRINGVAR</a>(var)&#160;&#160;&#160;static const char var[] <a class="el" href="ui_8h.html#a0ecb7d204e04196a839885837c052002">PROGMEM</a>;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(var)&#160;&#160;&#160;PGM_P var</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a806ea970ccbc3c57a4d4ad45dbbb4725">TIMER0_PRESCALE</a>&#160;&#160;&#160;64</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Prescale factor, timer0 runs at.  <a href="#a806ea970ccbc3c57a4d4ad45dbbb4725"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a2fc5c022ca08920b3cf6eba085e5798e">ANALOG_PRESCALER</a>&#160;&#160;&#160;_BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a303b63294d669d2c5a269c92bdb700d5">HardwareSerial_h</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a8632c40d5411175b1dd8044667d2e265">COMPAT_PRE1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a0f536b06f8e01ba1a6d1d60416b7e3f7">BEGIN_INTERRUPT_PROTECTED</a>&#160;&#160;&#160;{uint8_t sreg=SREG;__asm volatile( &quot;cli&quot; ::: &quot;memory&quot; );</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a1f77fa92e63e79db1d3b45fbefbd26d8">END_INTERRUPT_PROTECTED</a>&#160;&#160;&#160;SREG=sreg;}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a4f7ca723afd6908e40906f955d39de5a">ESCAPE_INTERRUPT_PROTECTED</a>&#160;&#160;&#160;SREG=sreg;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#afe7387252655a7ee07b26cb83c5ed0be">EEPROM_OFFSET</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a6252b6137f2c7128b048b21f86157df7">SECONDS_TO_TICKS</a>(s)&#160;&#160;&#160;(unsigned long)(s*(float)F_CPU)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a539de0f4b3ccbe41a4c8af7bfc6a4aa2">ANALOG_REDUCE_BITS</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a87a291b3b9207590f54f559d3bedd622">ANALOG_REDUCE_FACTOR</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a44caf16d49cdf922186674a1421b558d">MAX_RAM</a>&#160;&#160;&#160;32767</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#aef8a3a7087d7b20787653fb31b72c96f">bit_clear</a>(x, y)&#160;&#160;&#160;x&amp;= ~(1&lt;&lt;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a22db3eec77988c276bf7ff6a7ee2e5b0">bit_set</a>(x, y)&#160;&#160;&#160;x|= (1&lt;&lt;y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ab5c0fbe837494c5f9130a5914854250d">I2C_READ</a>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a9536bf85bced4f4e549a82fb18eb6140">I2C_WRITE</a>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ade10189dcb8536dc4c28a5b59d3035c5">FAST_INTEGER_SQRT</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#aaa07390e6158db5d82d40510d2ae02d5">SERIAL_BUFFER_SIZE</a>&#160;&#160;&#160;128</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a802cf662365d7027fced85e4bfb8b968">SERIAL_BUFFER_MASK</a>&#160;&#160;&#160;127</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#af0d9a9a9aac810bf58f698086f76e516">SERIAL_TX_BUFFER_SIZE</a>&#160;&#160;&#160;64</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#aa9e24a9121e507c4f7a0ed7a06c77763">SERIAL_TX_BUFFER_MASK</a>&#160;&#160;&#160;63</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a17da3e86d60c2b299dd9e523bf746699">RFSERIAL</a>&#160;&#160;&#160;<a class="el" href="_h_a_l_8h.html#afbb1290b3ca9b145cd2f83d39cccf570">RFSerial</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a2460646a2c88b65c0f8d1b9ba7c8d0f5">WAIT_OUT_EMPTY</a>&#160;&#160;&#160;while(tx_buffer.head != tx_buffer.tail) {}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a4e146bcc38d06e2a9aa55ccbf21b600a">OUT_P_I</a>(p, i)&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(int)(i))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a626b60bc02c5e4a9aa90d7851ec4d4c7">OUT_P_I_LN</a>(p, i)&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(int)(i))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ae9a1d8c5c5118dcf862af2dc40a8b23a">OUT_P_L</a>(p, i)&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(long)(i))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#aa78c8b9cd9c351fdaad74486b21c3af0">OUT_P_L_LN</a>(p, i)&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(long)(i))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a16983fb51961d90a6b6c4f24b1041885">OUT_P_F</a>(p, i)&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(float)(i))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ab8f60a8ebbabb650f7eee866e88e8ef7">OUT_P_F_LN</a>(p, i)&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(float)(i))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a6ca8478da16088491c73594090191c40">OUT_P_FX</a>(p, i, x)&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(float)(i),x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ab0a7b7474ee8525af4aa296f98945268">OUT_P_FX_LN</a>(p, i, x)&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(float)(i),x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a6174c84155b88c81a35cdb184214d042">OUT_P</a>(p)&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a026f71fdb25c58319213d95ec3d32e51">OUT_P_LN</a>(p)&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ab3bec22e4d3c7c543f791e2c61923b33">OUT_ERROR_P</a>(p)&#160;&#160;&#160;<a class="el" href="class_com.html#aab96a8877695a178b4eeba662d277aae">Com::printErrorF</a>(PSTR(p))</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a086a3926126156cd7f53aa5d05942cc3">OUT_ERROR_P_LN</a>(p)&#160;&#160;&#160;{<a class="el" href="class_com.html#aab96a8877695a178b4eeba662d277aae">Com::printErrorF</a>(PSTR(p));<a class="el" href="class_com.html#abf5c1f3a95facdad9e2bdba00b7c960a">Com::println</a>();}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a97e418f3a4ce0f3d316d54638eb39c61">OUT</a>(v)&#160;&#160;&#160;<a class="el" href="class_com.html#a672e24a0101650ed2ba0c12e1caf1491">Com::print</a>(v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ad921e3744830690bcc58bbc30c842cc9">OUT_LN</a>&#160;&#160;&#160;<a class="el" href="class_com.html#abf5c1f3a95facdad9e2bdba00b7c960a">Com::println</a>()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a5493104832094f07b22a464e74bd27e5">EXTRUDER_TIMER_VECTOR</a>&#160;&#160;&#160;TIMER0_COMPA_vect</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ab2ee6e3d51e61ad0bb6b3cad752d370f">EXTRUDER_OCR</a>&#160;&#160;&#160;OCR0A</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ac42ca5d0c9feeea62388c90bdbefb07e">EXTRUDER_TCCR</a>&#160;&#160;&#160;TCCR0A</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a79f67c6e1d741eaa6031589fe1d5541c">EXTRUDER_TIMSK</a>&#160;&#160;&#160;TIMSK0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#aba2d8b413b09fbcd79663a684e0f2a37">EXTRUDER_OCIE</a>&#160;&#160;&#160;OCIE0A</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a0ad5f01af339a57de4bd2a3531300d18">PWM_TIMER_VECTOR</a>&#160;&#160;&#160;TIMER0_COMPB_vect</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a52bf5f75ac47d9f19ac0b732aaccbefa">PWM_OCR</a>&#160;&#160;&#160;OCR0B</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a6942ce3f11c17a2e79db0615f8c590ac">PWM_TCCR</a>&#160;&#160;&#160;TCCR0A</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a5b1f41fba5eb7c7b9f73803341f1b864">PWM_TIMSK</a>&#160;&#160;&#160;TIMSK0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a25524bb70fb55ea5dd84979ad623e078">PWM_OCIE</a>&#160;&#160;&#160;OCIE0B</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#a91c2da9328232ca544377f4be938288d">ticks_t</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#ab14fc3b0e7b9535ec25836108ce96a45">millis_t</a></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_r_f_hardware_serial.html">RFHardwareSerial</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_h_a_l_8h.html#afbb1290b3ca9b145cd2f83d39cccf570">RFSerial</a></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a2fc5c022ca08920b3cf6eba085e5798e"></a><!-- doxytag: member="HAL.h::ANALOG_PRESCALER" ref="a2fc5c022ca08920b3cf6eba085e5798e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a2fc5c022ca08920b3cf6eba085e5798e">ANALOG_PRESCALER</a>&#160;&#160;&#160;_BV(ADPS0)|_BV(ADPS1)|_BV(ADPS2)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a539de0f4b3ccbe41a4c8af7bfc6a4aa2"></a><!-- doxytag: member="HAL.h::ANALOG_REDUCE_BITS" ref="a539de0f4b3ccbe41a4c8af7bfc6a4aa2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a539de0f4b3ccbe41a4c8af7bfc6a4aa2">ANALOG_REDUCE_BITS</a>&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a87a291b3b9207590f54f559d3bedd622"></a><!-- doxytag: member="HAL.h::ANALOG_REDUCE_FACTOR" ref="a87a291b3b9207590f54f559d3bedd622" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a87a291b3b9207590f54f559d3bedd622">ANALOG_REDUCE_FACTOR</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0f536b06f8e01ba1a6d1d60416b7e3f7"></a><!-- doxytag: member="HAL.h::BEGIN_INTERRUPT_PROTECTED" ref="a0f536b06f8e01ba1a6d1d60416b7e3f7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a0f536b06f8e01ba1a6d1d60416b7e3f7">BEGIN_INTERRUPT_PROTECTED</a>&#160;&#160;&#160;{uint8_t sreg=SREG;__asm volatile( &quot;cli&quot; ::: &quot;memory&quot; );</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aef8a3a7087d7b20787653fb31b72c96f"></a><!-- doxytag: member="HAL.h::bit_clear" ref="aef8a3a7087d7b20787653fb31b72c96f" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#aef8a3a7087d7b20787653fb31b72c96f">bit_clear</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;x&amp;= ~(1&lt;&lt;y)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a22db3eec77988c276bf7ff6a7ee2e5b0"></a><!-- doxytag: member="HAL.h::bit_set" ref="a22db3eec77988c276bf7ff6a7ee2e5b0" args="(x, y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a22db3eec77988c276bf7ff6a7ee2e5b0">bit_set</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">y&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;x|= (1&lt;&lt;y)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8632c40d5411175b1dd8044667d2e265"></a><!-- doxytag: member="HAL.h::COMPAT_PRE1" ref="a8632c40d5411175b1dd8044667d2e265" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a8632c40d5411175b1dd8044667d2e265">COMPAT_PRE1</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afe7387252655a7ee07b26cb83c5ed0be"></a><!-- doxytag: member="HAL.h::EEPROM_OFFSET" ref="afe7387252655a7ee07b26cb83c5ed0be" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#afe7387252655a7ee07b26cb83c5ed0be">EEPROM_OFFSET</a>&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a1f77fa92e63e79db1d3b45fbefbd26d8"></a><!-- doxytag: member="HAL.h::END_INTERRUPT_PROTECTED" ref="a1f77fa92e63e79db1d3b45fbefbd26d8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a1f77fa92e63e79db1d3b45fbefbd26d8">END_INTERRUPT_PROTECTED</a>&#160;&#160;&#160;SREG=sreg;}</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4f7ca723afd6908e40906f955d39de5a"></a><!-- doxytag: member="HAL.h::ESCAPE_INTERRUPT_PROTECTED" ref="a4f7ca723afd6908e40906f955d39de5a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a4f7ca723afd6908e40906f955d39de5a">ESCAPE_INTERRUPT_PROTECTED</a>&#160;&#160;&#160;SREG=sreg;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aba2d8b413b09fbcd79663a684e0f2a37"></a><!-- doxytag: member="HAL.h::EXTRUDER_OCIE" ref="aba2d8b413b09fbcd79663a684e0f2a37" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#aba2d8b413b09fbcd79663a684e0f2a37">EXTRUDER_OCIE</a>&#160;&#160;&#160;OCIE0A</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab2ee6e3d51e61ad0bb6b3cad752d370f"></a><!-- doxytag: member="HAL.h::EXTRUDER_OCR" ref="ab2ee6e3d51e61ad0bb6b3cad752d370f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ab2ee6e3d51e61ad0bb6b3cad752d370f">EXTRUDER_OCR</a>&#160;&#160;&#160;OCR0A</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ac42ca5d0c9feeea62388c90bdbefb07e"></a><!-- doxytag: member="HAL.h::EXTRUDER_TCCR" ref="ac42ca5d0c9feeea62388c90bdbefb07e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ac42ca5d0c9feeea62388c90bdbefb07e">EXTRUDER_TCCR</a>&#160;&#160;&#160;TCCR0A</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5493104832094f07b22a464e74bd27e5"></a><!-- doxytag: member="HAL.h::EXTRUDER_TIMER_VECTOR" ref="a5493104832094f07b22a464e74bd27e5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a5493104832094f07b22a464e74bd27e5">EXTRUDER_TIMER_VECTOR</a>&#160;&#160;&#160;TIMER0_COMPA_vect</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a79f67c6e1d741eaa6031589fe1d5541c"></a><!-- doxytag: member="HAL.h::EXTRUDER_TIMSK" ref="a79f67c6e1d741eaa6031589fe1d5541c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a79f67c6e1d741eaa6031589fe1d5541c">EXTRUDER_TIMSK</a>&#160;&#160;&#160;TIMSK0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ade10189dcb8536dc4c28a5b59d3035c5"></a><!-- doxytag: member="HAL.h::FAST_INTEGER_SQRT" ref="ade10189dcb8536dc4c28a5b59d3035c5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ade10189dcb8536dc4c28a5b59d3035c5">FAST_INTEGER_SQRT</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6c7567c1812b6b6ca9067377476ddc4e"></a><!-- doxytag: member="HAL.h::FSTRINGPARAM" ref="a6c7567c1812b6b6ca9067377476ddc4e" args="(var)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">var</td><td>)</td>
          <td>&#160;&#160;&#160;PGM_P var</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae68067bbb7e4e74e66a097cf20f69a96"></a><!-- doxytag: member="HAL.h::FSTRINGVALUE" ref="ae68067bbb7e4e74e66a097cf20f69a96" args="(var, value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_communication_8cpp.html#a144eda43abca5e3b016d887585ddeed9">FSTRINGVALUE</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">var, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">value&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;const char var[] <a class="el" href="ui_8h.html#a0ecb7d204e04196a839885837c052002">PROGMEM</a> = value;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9647b2e4e353b8a4c966dc7078ef1e73"></a><!-- doxytag: member="HAL.h::FSTRINGVAR" ref="a9647b2e4e353b8a4c966dc7078ef1e73" args="(var)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a9647b2e4e353b8a4c966dc7078ef1e73">FSTRINGVAR</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">var</td><td>)</td>
          <td>&#160;&#160;&#160;static const char var[] <a class="el" href="ui_8h.html#a0ecb7d204e04196a839885837c052002">PROGMEM</a>;</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a303b63294d669d2c5a269c92bdb700d5"></a><!-- doxytag: member="HAL.h::HardwareSerial_h" ref="a303b63294d669d2c5a269c92bdb700d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a303b63294d669d2c5a269c92bdb700d5">HardwareSerial_h</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab5c0fbe837494c5f9130a5914854250d"></a><!-- doxytag: member="HAL.h::I2C_READ" ref="ab5c0fbe837494c5f9130a5914854250d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ab5c0fbe837494c5f9130a5914854250d">I2C_READ</a>&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>defines the data direction (reading from I2C device) in i2cStart(),i2cRepStart() </p>

</div>
</div>
<a class="anchor" id="a9536bf85bced4f4e549a82fb18eb6140"></a><!-- doxytag: member="HAL.h::I2C_WRITE" ref="a9536bf85bced4f4e549a82fb18eb6140" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a9536bf85bced4f4e549a82fb18eb6140">I2C_WRITE</a>&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>defines the data direction (writing to I2C device) in i2cStart(),i2cRepStart() </p>

</div>
</div>
<a class="anchor" id="a44caf16d49cdf922186674a1421b558d"></a><!-- doxytag: member="HAL.h::MAX_RAM" ref="a44caf16d49cdf922186674a1421b558d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a44caf16d49cdf922186674a1421b558d">MAX_RAM</a>&#160;&#160;&#160;32767</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a97e418f3a4ce0f3d316d54638eb39c61"></a><!-- doxytag: member="HAL.h::OUT" ref="a97e418f3a4ce0f3d316d54638eb39c61" args="(v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a97e418f3a4ce0f3d316d54638eb39c61">OUT</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="class_com.html#a672e24a0101650ed2ba0c12e1caf1491">Com::print</a>(v)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab3bec22e4d3c7c543f791e2c61923b33"></a><!-- doxytag: member="HAL.h::OUT_ERROR_P" ref="ab3bec22e4d3c7c543f791e2c61923b33" args="(p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ab3bec22e4d3c7c543f791e2c61923b33">OUT_ERROR_P</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="class_com.html#aab96a8877695a178b4eeba662d277aae">Com::printErrorF</a>(PSTR(p))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a086a3926126156cd7f53aa5d05942cc3"></a><!-- doxytag: member="HAL.h::OUT_ERROR_P_LN" ref="a086a3926126156cd7f53aa5d05942cc3" args="(p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a086a3926126156cd7f53aa5d05942cc3">OUT_ERROR_P_LN</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p</td><td>)</td>
          <td>&#160;&#160;&#160;{<a class="el" href="class_com.html#aab96a8877695a178b4eeba662d277aae">Com::printErrorF</a>(PSTR(p));<a class="el" href="class_com.html#abf5c1f3a95facdad9e2bdba00b7c960a">Com::println</a>();}</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad921e3744830690bcc58bbc30c842cc9"></a><!-- doxytag: member="HAL.h::OUT_LN" ref="ad921e3744830690bcc58bbc30c842cc9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ad921e3744830690bcc58bbc30c842cc9">OUT_LN</a>&#160;&#160;&#160;<a class="el" href="class_com.html#abf5c1f3a95facdad9e2bdba00b7c960a">Com::println</a>()</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6174c84155b88c81a35cdb184214d042"></a><!-- doxytag: member="HAL.h::OUT_P" ref="a6174c84155b88c81a35cdb184214d042" args="(p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a6174c84155b88c81a35cdb184214d042">OUT_P</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a16983fb51961d90a6b6c4f24b1041885"></a><!-- doxytag: member="HAL.h::OUT_P_F" ref="a16983fb51961d90a6b6c4f24b1041885" args="(p, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a16983fb51961d90a6b6c4f24b1041885">OUT_P_F</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(float)(i))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab8f60a8ebbabb650f7eee866e88e8ef7"></a><!-- doxytag: member="HAL.h::OUT_P_F_LN" ref="ab8f60a8ebbabb650f7eee866e88e8ef7" args="(p, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ab8f60a8ebbabb650f7eee866e88e8ef7">OUT_P_F_LN</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(float)(i))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6ca8478da16088491c73594090191c40"></a><!-- doxytag: member="HAL.h::OUT_P_FX" ref="a6ca8478da16088491c73594090191c40" args="(p, i, x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a6ca8478da16088491c73594090191c40">OUT_P_FX</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(float)(i),x)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab0a7b7474ee8525af4aa296f98945268"></a><!-- doxytag: member="HAL.h::OUT_P_FX_LN" ref="ab0a7b7474ee8525af4aa296f98945268" args="(p, i, x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ab0a7b7474ee8525af4aa296f98945268">OUT_P_FX_LN</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">x&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(float)(i),x)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4e146bcc38d06e2a9aa55ccbf21b600a"></a><!-- doxytag: member="HAL.h::OUT_P_I" ref="a4e146bcc38d06e2a9aa55ccbf21b600a" args="(p, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a4e146bcc38d06e2a9aa55ccbf21b600a">OUT_P_I</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(int)(i))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a626b60bc02c5e4a9aa90d7851ec4d4c7"></a><!-- doxytag: member="HAL.h::OUT_P_I_LN" ref="a626b60bc02c5e4a9aa90d7851ec4d4c7" args="(p, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a626b60bc02c5e4a9aa90d7851ec4d4c7">OUT_P_I_LN</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(int)(i))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae9a1d8c5c5118dcf862af2dc40a8b23a"></a><!-- doxytag: member="HAL.h::OUT_P_L" ref="ae9a1d8c5c5118dcf862af2dc40a8b23a" args="(p, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#ae9a1d8c5c5118dcf862af2dc40a8b23a">OUT_P_L</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a827a6aab367636cbfcc0263552cb7f12">Com::printF</a>(PSTR(p),(long)(i))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa78c8b9cd9c351fdaad74486b21c3af0"></a><!-- doxytag: member="HAL.h::OUT_P_L_LN" ref="aa78c8b9cd9c351fdaad74486b21c3af0" args="(p, i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#aa78c8b9cd9c351fdaad74486b21c3af0">OUT_P_L_LN</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">i&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p),(long)(i))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a026f71fdb25c58319213d95ec3d32e51"></a><!-- doxytag: member="HAL.h::OUT_P_LN" ref="a026f71fdb25c58319213d95ec3d32e51" args="(p)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a026f71fdb25c58319213d95ec3d32e51">OUT_P_LN</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">p</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="class_com.html#a3c88195fa3e81ecce0d949115ab15a3e">Com::printFLN</a>(PSTR(p))</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5ed6babb09100c6ea686ac77dcc201f0"></a><!-- doxytag: member="HAL.h::PACK" ref="a5ed6babb09100c6ea686ac77dcc201f0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">union <a class="el" href="unioncache__t.html">cache_t</a> <a class="el" href="_sd_fat_8h.html#a6f596e0861a880c81c6b7006065d9eab">PACK</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is the main Hardware Abstraction Layer (<a class="el" href="class_h_a_l.html">HAL</a>). To make the firmware work with different processors and toolchains, all hardware related code should be packed into the hal files. </p>

</div>
</div>
<a class="anchor" id="a25524bb70fb55ea5dd84979ad623e078"></a><!-- doxytag: member="HAL.h::PWM_OCIE" ref="a25524bb70fb55ea5dd84979ad623e078" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a25524bb70fb55ea5dd84979ad623e078">PWM_OCIE</a>&#160;&#160;&#160;OCIE0B</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a52bf5f75ac47d9f19ac0b732aaccbefa"></a><!-- doxytag: member="HAL.h::PWM_OCR" ref="a52bf5f75ac47d9f19ac0b732aaccbefa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a52bf5f75ac47d9f19ac0b732aaccbefa">PWM_OCR</a>&#160;&#160;&#160;OCR0B</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6942ce3f11c17a2e79db0615f8c590ac"></a><!-- doxytag: member="HAL.h::PWM_TCCR" ref="a6942ce3f11c17a2e79db0615f8c590ac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a6942ce3f11c17a2e79db0615f8c590ac">PWM_TCCR</a>&#160;&#160;&#160;TCCR0A</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0ad5f01af339a57de4bd2a3531300d18"></a><!-- doxytag: member="HAL.h::PWM_TIMER_VECTOR" ref="a0ad5f01af339a57de4bd2a3531300d18" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a0ad5f01af339a57de4bd2a3531300d18">PWM_TIMER_VECTOR</a>&#160;&#160;&#160;TIMER0_COMPB_vect</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5b1f41fba5eb7c7b9f73803341f1b864"></a><!-- doxytag: member="HAL.h::PWM_TIMSK" ref="a5b1f41fba5eb7c7b9f73803341f1b864" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a5b1f41fba5eb7c7b9f73803341f1b864">PWM_TIMSK</a>&#160;&#160;&#160;TIMSK0</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a17da3e86d60c2b299dd9e523bf746699"></a><!-- doxytag: member="HAL.h::RFSERIAL" ref="a17da3e86d60c2b299dd9e523bf746699" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a17da3e86d60c2b299dd9e523bf746699">RFSERIAL</a>&#160;&#160;&#160;<a class="el" href="_h_a_l_8h.html#afbb1290b3ca9b145cd2f83d39cccf570">RFSerial</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6252b6137f2c7128b048b21f86157df7"></a><!-- doxytag: member="HAL.h::SECONDS_TO_TICKS" ref="a6252b6137f2c7128b048b21f86157df7" args="(s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a6252b6137f2c7128b048b21f86157df7">SECONDS_TO_TICKS</a></td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">s</td><td>)</td>
          <td>&#160;&#160;&#160;(unsigned long)(s*(float)F_CPU)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a802cf662365d7027fced85e4bfb8b968"></a><!-- doxytag: member="HAL.h::SERIAL_BUFFER_MASK" ref="a802cf662365d7027fced85e4bfb8b968" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a802cf662365d7027fced85e4bfb8b968">SERIAL_BUFFER_MASK</a>&#160;&#160;&#160;127</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aaa07390e6158db5d82d40510d2ae02d5"></a><!-- doxytag: member="HAL.h::SERIAL_BUFFER_SIZE" ref="aaa07390e6158db5d82d40510d2ae02d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#aaa07390e6158db5d82d40510d2ae02d5">SERIAL_BUFFER_SIZE</a>&#160;&#160;&#160;128</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa9e24a9121e507c4f7a0ed7a06c77763"></a><!-- doxytag: member="HAL.h::SERIAL_TX_BUFFER_MASK" ref="aa9e24a9121e507c4f7a0ed7a06c77763" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#aa9e24a9121e507c4f7a0ed7a06c77763">SERIAL_TX_BUFFER_MASK</a>&#160;&#160;&#160;63</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af0d9a9a9aac810bf58f698086f76e516"></a><!-- doxytag: member="HAL.h::SERIAL_TX_BUFFER_SIZE" ref="af0d9a9a9aac810bf58f698086f76e516" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#af0d9a9a9aac810bf58f698086f76e516">SERIAL_TX_BUFFER_SIZE</a>&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a806ea970ccbc3c57a4d4ad45dbbb4725"></a><!-- doxytag: member="HAL.h::TIMER0_PRESCALE" ref="a806ea970ccbc3c57a4d4ad45dbbb4725" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a806ea970ccbc3c57a4d4ad45dbbb4725">TIMER0_PRESCALE</a>&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Prescale factor, timer0 runs at. </p>
<p>All known arduino boards use 64. This value is needed for the extruder timing. </p>

</div>
</div>
<a class="anchor" id="a2460646a2c88b65c0f8d1b9ba7c8d0f5"></a><!-- doxytag: member="HAL.h::WAIT_OUT_EMPTY" ref="a2460646a2c88b65c0f8d1b9ba7c8d0f5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="_h_a_l_8h.html#a2460646a2c88b65c0f8d1b9ba7c8d0f5">WAIT_OUT_EMPTY</a>&#160;&#160;&#160;while(tx_buffer.head != tx_buffer.tail) {}</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ab14fc3b0e7b9535ec25836108ce96a45"></a><!-- doxytag: member="HAL.h::millis_t" ref="ab14fc3b0e7b9535ec25836108ce96a45" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned long <a class="el" href="_h_a_l_8h.html#ab14fc3b0e7b9535ec25836108ce96a45">millis_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a14a0666abcf3bb67c7ff400b4a450467"></a><!-- doxytag: member="HAL.h::speed_t" ref="a14a0666abcf3bb67c7ff400b4a450467" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned int <a class="el" href="_h_a_l_8h.html#a14a0666abcf3bb67c7ff400b4a450467">speed_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a91c2da9328232ca544377f4be938288d"></a><!-- doxytag: member="HAL.h::ticks_t" ref="a91c2da9328232ca544377f4be938288d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef unsigned long <a class="el" href="_h_a_l_8h.html#a91c2da9328232ca544377f4be938288d">ticks_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="afbb1290b3ca9b145cd2f83d39cccf570"></a><!-- doxytag: member="HAL.h::RFSerial" ref="afbb1290b3ca9b145cd2f83d39cccf570" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_r_f_hardware_serial.html">RFHardwareSerial</a> <a class="el" href="_h_a_l_8h.html#afbb1290b3ca9b145cd2f83d39cccf570">RFSerial</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="_h_a_l_8h.html">HAL.h</a>      </li>

    <li class="footer">Generated on Mon Dec 30 2013 18:53:02 for Repetier-Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.6.1 </li>
   </ul>
 </div>


</body>
</html>
